package com.ruoyi.college.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.college.domain.ExperimentProject;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 实验项目Service接口
 * @author ruoyi
 * @date 2024-05-XX
 */
public interface IExperimentProjectService extends BaseService<ExperimentProject> {

    /**
     * 按课程安排ID查询实验项目列表
     * @param arrangementId 指定课程ID
     * @return 实验项目列表
     */
    List<ExperimentProject> getProjectListByArrangementId(Integer arrangementId);

    /**
     * 添加实验项目（含附件上传）
     * @param project 实验项目信息
     * @param files 上传的附件（可多个）
     * @return 操作结果
     */
    AjaxResult addExperimentProject(ExperimentProject project, MultipartFile[] files);

    /**
     * 修改实验项目（含附件更新）
     * @param project 实验项目信息
     * @param files 新上传的附件（可多个）
     * @return 操作结果
     */
    AjaxResult updateExperimentProject(ExperimentProject project, MultipartFile[] files);

    /**
     * 批量删除实验项目（含附件物理删除）
     * @param projectIds 项目ID数组
     * @return 操作结果
     */
    AjaxResult deleteProjectByIds(Long[] projectIds);

    List<ExperimentProject> getProjectsByArrangementId(Integer arrangementId);

    ExperimentProject getProjectByProjectId(Long projectId);
}